package com.easyctba.core.service;

import com.easyctba.common.core.domain.R;
import com.easyctba.core.domain.CtbaFiasPolyline;
import com.easyctba.core.domain.vo.CtbaFiasPolylineVo;
import com.easyctba.core.domain.bo.CtbaFiasPolylineBo;
import com.easyctba.common.mybatis.core.page.TableDataInfo;
import com.easyctba.common.mybatis.core.page.PageQuery;

import java.util.Collection;
import java.util.List;

/**
 * FIAS的折线图分析Service接口
 *
 * @author Huang
 * @date 2024-04-03
 */
public interface ICtbaFiasPolylineService {

    /**
     * 查询FIAS的折线图分析
     */
    CtbaFiasPolylineVo queryById(Long id);

    /**
     * 查询FIAS的折线图分析列表
     */
    TableDataInfo<CtbaFiasPolylineVo> queryPageList(CtbaFiasPolylineBo bo, PageQuery pageQuery);

    /**
     * 查询FIAS的折线图分析列表
     */
    List<CtbaFiasPolylineVo> queryList(CtbaFiasPolylineBo bo);

    /**
     * 新增FIAS的折线图分析
     */
    Boolean insertByBo(CtbaFiasPolylineBo bo);

    /**
     * 修改FIAS的折线图分析
     */
    Boolean updateByBo(CtbaFiasPolylineBo bo);

    /**
     * 校验并批量删除FIAS的折线图分析信息
     */
    Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);

    Boolean addPolyline(CtbaFiasPolyline ctbaFiasPolyline);

    Boolean checkName(String name, Long id);

    R<List<CtbaFiasPolyline>> getInfo(Long id);

    R<Void> delete(Long id);
}
